package mapper;

import DO.EncodeTestDO;
import DO.EncodeTestDataTypeDO;
import DTO.UpdateEncodeTestDTO;
import VO.EncodeTestVO;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface EncodeTestMapper {

    // 获取测试用例的数量
    @Select("select COUNT(*) from encode_test where encode_id = #{id}")
    Integer getEncodeTestNumber(Integer id);

    // 根据题目id和要查询的第几个查询出数据
    EncodeTestDO getByIdAndOrder(Integer id, Integer order);

    // 修改测试用例
    void updateById(Integer id,String output,Integer length);

    // 获取编程题id
    @Select("select * from encode_test where id = #{id}")
    EncodeTestDO getEncodeIdById(Integer id);

    // 删除测试数据
    @Delete("delete from encode_test  where id = #{id}")
    void deleteById(Integer id);

    // 添加数据
    void insert(EncodeTestDO encodeTestDO);

    // 根据编程题id获取该题目的全部数据
    @Select("select * from encode_test where encode_id = #{encodeId} order by `order`")
    List<EncodeTestDO> getListByEncodeId(Integer encodeId);
}
